#ifdef __cplusplus
extern "C" {
#endif

typedef int (*SIMBAT_DLL_CONNECT)(int *Sqlcode);
typedef int (*SIMBAT_DLL_COUNT)(int *Result, int *Sqlcode);
typedef int (*SIMBAT_DLL_CLEAR)(int *Sqlcode);
typedef int (*SIMBAT_DLL_WRITE_RECORD)(int Idx, const char *Record, int Len, int *Sqlcode);
typedef int (*SIMBAT_DLL_READ_RECORD)(int Idx, char *Record, int Len, int *Sqlcode);
typedef int (*SIMBAT_DLL_REWRITE_RECORD)(int Idx, const char *Record, int Len, int *Sqlcode);

typedef struct
{
   SIMBAT_DLL_CONNECT       Connect;
   SIMBAT_DLL_COUNT         Count;
   SIMBAT_DLL_CLEAR         Clear;
   SIMBAT_DLL_WRITE_RECORD  WriteRecord;
   SIMBAT_DLL_READ_RECORD   ReadRecord;
   SIMBAT_DLL_REWRITE_RECORD  RewriteRecord;
} SimbatDllDbInitArg;

typedef void (*SIMBAT_DLL_DB_INIT)(SimbatDllDbInitArg *Arg);

void SimbatDllDbInit(SimbatDllDbInitArg *Arg);

#ifdef __cplusplus
}
#endif
